import Vue from 'vue';
import Vuex from 'vuex';
import {getItem , setItem} from '../utils/storage';
Vue.use(Vuex);

const USER_KEY = 'toutiao-user';
//小优化：发现getItem和setItem使用一个变量所以我们可以定义一个常量用来存储数据
const store = new Vuex.Store({
  state: {
	  user:getItem(USER_KEY),
	// user:JSON.parse(window.localStorage.getItem('user')),//当前登入用户的登入状态（token等数据）
	
	cachePages:['LayoutIndex']
  },
  mutations: {
		setUser(state,data){
			state.user = data;
			// console.log( data);
			//为了防止页面刷新数据丢失，我们还需要把数据放到本地存储中,这里仅仅是为了持久化数据l
			setItem(USER_KEY,state.user);
			// window.localStorage.setItem('user',JSON.stringify(state.user));	
		},
		// 添加缓存页面
		addCachePage(state,pageName){
			if(!state.cachePages.includes(pageName)){
				state.cachePages.push(pageName);
			}
		},
		//移除缓存页面
		removeCachePage(state,pageName){
			const index = state.cachePages.indexOf(pageName);
			if(index !== -1){
				state.cachePages.splice(index,1);
			}
		}
  },
  actions: {
  },
  modules: {
  }
});
export default store;
